#include "key.h"

#define	Key0_Input	GPIO_ReadInputDataBit(KEY_PORT,KEY0)
#define	Key1_Input	GPIO_ReadInputDataBit(KEY_PORT,KEY1)
#define	Key2_Input	GPIO_ReadInputDataBit(KEY_PORT,KEY2)

u8 Key_Flag;

void Key_Init(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);

	GPIO_InitTypeDef GPIO_InitStructure;	//初始化结构体
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;	//一端接地，一端接引脚
	GPIO_InitStructure.GPIO_Pin = KEY0 | KEY1 | KEY2;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(KEY_PORT, &GPIO_InitStructure);
	
}

u8 Key_porc(void)
{
	static u8 Key_Value_Ret;
	
	if ( (Key0_Input == RESET) || (Key1_Input == RESET) || (Key2_Input == RESET))	// 0 如果按下
	{
		Delay_ms(10);
		if (Key0_Input == RESET)
		{
			Key_Flag = 0;
			Key_Value_Ret = 1;
			while(!Key0_Input);	// !1 = 0,等待松手
		}
		else if (Key1_Input == RESET)
		{
			Key_Flag = 1;
			Key_Value_Ret = 2;
			while(!Key1_Input);	// !1 = 0,等待松手
		}
		else if (Key2_Input == RESET)
		{
			Key_Flag = 1;
			Key_Value_Ret = 3;
			while(!Key2_Input);	// !1 = 0,等待松手
		}
	}
	else 
	{
		Key_Flag = 0;
		Key_Value_Ret = 0;
	}
	return Key_Value_Ret;
}


